HTML এবং JavaScript এর সাথে Ajax সংযোগ করার জন্য আমরা JavaScript ব্যবহার করে XMLHttpRequest
অবজেক্টের মাধ্যমে একটি রিকোয়েস্ট পাঠাই এবং HTML ডকুমেন্টে সেই ডেটা ডায়নামিকভাবে আপডেট করি। Ajax এর মাধ্যমে এই সংযোগের প্রক্রিয়াটি খুবই গুরুত্বপূর্ণ, কারণ এটি ওয়েব পেজকে ডায়নামিক এবং ইন্টারেক্টিভ করে তোলে। নিচে HTML এবং JavaScript এর সাথে Ajax সংযোগের একটি পূর্ণাঙ্গ উদাহরণ দেওয়া হলো:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ajax Example</title>
</head>
<body>
<h1>Ajax Data Load Example</h1>
<button onclick="fetchData()">Load Data</button>
<div id="result"></div>
<script src="app.js"></script>
</body>
</html>
বিস্তারিত ব্যাখ্যা:
<h1>
) এবং একটি বোতাম (<button>
) আছে।button
এ onclick
ইভেন্ট হ্যান্ডলার ব্যবহার করা হয়েছে, যা বোতামটি ক্লিক করলে fetchData()
ফাংশন কল করবে।result
নামে একটি <div>
এলিমেন্ট রয়েছে যেখানে আমরা Ajax থেকে প্রাপ্ত ডেটা ডায়নামিকভাবে দেখাব।app.js
ফাইলে রয়েছে, যা HTML এর শেষে যুক্ত করা হয়েছে।function fetchData() {
// XMLHttpRequest অবজেক্ট তৈরি করা
var xhr = new XMLHttpRequest();
// রিকোয়েস্ট ওপেন করা (GET মেথড, URL এবং অ্যাসিনক)
xhr.open("GET", "https://jsonplaceholder.typicode.com/posts/1", true);
// রেসপন্স প্রস্তুত হলে কি করবে তা নির্ধারণ করা
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
// JSON ডেটা রিসিভ করা এবং প্রসেস করা
var data = JSON.parse(xhr.responseText);
// HTML ডকুমেন্টে ডেটা আপডেট করা
document.getElementById("result").innerHTML = `
<h2>${data.title}</h2>
<p>${data.body}</p>
`;
} else if (xhr.readyState === 4 && xhr.status !== 200) {
// এরর মেসেজ দেখানো যদি রিকোয়েস্ট ব্যর্থ হয়
document.getElementById("result").innerHTML = "Error loading data!";
}
};
// রিকোয়েস্ট পাঠানো
xhr.send();
}
বিস্তারিত ব্যাখ্যা:
১. XMLHttpRequest অবজেক্ট তৈরি:
fetchData()
ফাংশনটি প্রথমে একটি XMLHttpRequest
অবজেক্ট তৈরি করে, যা Ajax রিকোয়েস্ট পরিচালনা করার জন্য ব্যবহৃত হয়।২. রিকোয়েস্ট সেটআপ করা:
xhr.open("GET", "URL", true)
দিয়ে একটি GET রিকোয়েস্ট সেটআপ করা হয়েছে, যা সার্ভারের URL থেকে ডেটা আনবে। "true"
মানে রিকোয়েস্টটি অ্যাসিনক্রোনাস হবে।৩. onreadystatechange ইভেন্ট:
xhr.onreadystatechange
ইভেন্ট হ্যান্ডলার ব্যবহার করে আমরা রিকোয়েস্টের অবস্থা চেক করেছি।xhr.readyState === 4
(যখন রিকোয়েস্ট সম্পূর্ণ) এবং xhr.status === 200
(যখন রিকোয়েস্ট সফল), তখন JSON ডেটা প্রসেস করে HTML ডিভে (result
) আপডেট করা হয়েছে।xhr.status
২০০ না হয়), তাহলে একটি এরর মেসেজ দেখানো হয়েছে।৪. রিকোয়েস্ট পাঠানো:
xhr.send();
দিয়ে রিকোয়েস্টটি সার্ভারে পাঠানো হয়েছে।এই উদাহরণে আমরা একটি ডেমো API (https://jsonplaceholder.typicode.com/posts/1
) ব্যবহার করেছি, যা নিচের মতো JSON ডেটা প্রদান করে:
{
"userId": 1,
"id": 1,
"title": "Sample Title",
"body": "This is a sample body text."
}
fetchData()
ফাংশন কল হয়।result
) এ আপডেট করা হয়, ফলে ইউজার নতুন ডেটা দেখতে পারে পেজ রিলোড না করেই।এই প্রোগ্রামে HTML, JavaScript, এবং Ajax এর মধ্যে সংযোগ দেখানো হয়েছে। XMLHttpRequest
অবজেক্টের মাধ্যমে Ajax রিকোয়েস্ট করা হয়েছে, এবং প্রাপ্ত ডেটা HTML ডকুমেন্টে ইনজেক্ট করা হয়েছে। এটি একটি বেসিক কিন্তু গুরুত্বপূর্ণ পদ্ধতি, যা ডায়নামিক ওয়েব অ্যাপ্লিকেশন তৈরিতে ব্যবহৃত হয়।
Read more